Systems and methods for determining battery state of charge

ABSTRACT

Systems ( 50, 200 ) and methods for determining a state of charge of a battery ( 52, 102, 150, 202 ) are provided. The system ( 50, 200 ) includes a power source ( 56, 206 ) configured to provide a charging current to a battery ( 52, 102, 150, 202 ). A controller ( 54, 104, 204 ) is included and configured to determine a state of charge of the battery ( 52, 102, 150, 202 ) based on impedance of a battery ( 52, 102, 150, 202 ) during a discharge time period based on an impedance and a state of charge relation-ship of a battery ( 52, 102, 150, 202 ) during a charge time period.

TECHNICAL FIELD

This invention relates to systems and methods for charging a battery,and more specifically, to systems and methods for determining batterystate of charge.

BACKGROUND

A battery is two or more electrochemical cells connected in series thatstore chemical energy and make it available as electrical energy. Commonusage has evolved to include a single electrical cell in the definition.There are many types of electrochemical cells, including galvanic cells,electrolytic cells, fuel cells, flow cells, and voltaic piles. Abattery's characteristics may vary due to many factors includinginternal chemistry, current drain, age and temperature.

Batteries can be employed in a wide range of electronic circuits. Somebatteries can be recharged. There is a known relationship between abattery's capacity, e.g., its ability to deliver power to a load, andits internal resistance or impedance. Thus, battery impedance monitorscan be employed to determine a remaining battery capacity.

SUMMARY

One aspect of the present invention is related to a system fordetermining a state of charge of a battery. The system comprises a powersource configured to provide a charging current to a battery. The systemalso comprises a controller configured to determine a state of chargebased on impedance of a battery during a discharge time period based onan impedance and a state of charge relationship of a battery during acharge time period.

Another aspect of the present invention is related to a systemdetermining a state of charge of a battery. The system comprises a powersource configured to provide the battery with a charging current. Thesystem also comprises a controller configured to determine a pluralityof impedances of the battery, wherein each impedance of the plurality ofimpedances corresponds with a given state of charge of the battery.

Yet another aspect of the present invention is related to a method forcharging and discharging a battery. A charging current is provided tothe battery. An initial state of charge (SOC) is determined for thebattery. The battery is charged for a predetermined time interval. Asubsequent SOC for the battery is determined. An open circuit voltage(OCV) corresponding to the subsequent SOC of the battery is determined.An impedance for the battery corresponding to the subsequent SOC of thebattery is calculated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for determining a state of charge of abattery in accordance with an aspect of the invention.

FIG. 2 illustrates an example of a circuit for a system in accordancewith an aspect of the invention.

FIG. 3 illustrates an example of an equivalent circuit for a battery.

FIG. 4 illustrates another system for determining a state of charge of abattery in accordance with an aspect of the invention.

FIG. 5 illustrates a flow chart for a methodology for determining astate of charge of a battery in accordance with an aspect of theinvention.

DETAILED DESCRIPTION

The present invention relates to an approach for monitoring a state ofcharge of a battery. The system can measure an initial open circuitvoltage of the battery, and determine a corresponding state of chargefor the battery. The system can also determine a subsequent state ofcharge of the battery based on a charging current and the amount of timethe battery has been charged. The subsequent state of charge can beemployed to determine a corresponding subsequent open circuit voltage,which can in turn be employed to determine a corresponding impedance forthe battery. The correspondence between the impedance of the battery andthe state of charge of the battery can be stored and employed during adischarge time period (e.g., a discharge cycle) to determine thebattery's state of charge.

FIG. 1 illustrates a system 50 for determining a state of charge of abattery 52 in accordance with an aspect of the invention. The system 50could be implemented, for example, in a laptop computer, a mobile phone,a personal digital assistant (PDA) or the like. The battery 52 could beimplemented as a rechargeable battery, such as a lithium ion battery(Li-ion), a lithium ion polymer (Li-ion polymer) a nickel-metal hydridebattery (NiMH), a nickel-cadmium battery (Ni-Cad), etc. The system 50can include a controller 54 that controls a power source 56. Thecontroller 54 and the power source 56 can be implemented, as hardware,software or a combination thereof. Moreover, although FIG. 1 illustratesthe controller 54 and the power source 56 being separate entities, oneskilled in the art will appreciate that in some implementations, thecontroller 54 and the power source 56 could be integrated. The powersource 56 can provide a power signal to the controller 54. The powersource 56 can be coupled to the battery 52. The controller 54 canprovide a control signal that controls a current provided to the battery52. The power source 56 can receive a power signal from an externalsource, such as a power outlet 58 (e.g., a 110 volt (V) or 220 Valternating current (AC) source).

The power source 56 can provide a direct current (DC) power signal tothe controller 54, typically via one of the power outlet 58 and thebattery 52, thus providing a power source 56 for the system 50. As isknown, typically, the power source 56 and the controller 54 can beconfigured such that the power signal is provided from the power outlet58 when the system 50 is connected to the power outlet 58, and the powersignal is provided from the battery 52 when system 50 is disconnectedfrom the power outlet 58.

A voltage drop across the battery 52 can be measured and provided to thepower source 56 and/or the controller 54. For example, in someimplementations, the power source 56 can, for example, detect an analogvoltage drop across the battery 52, and convert the analog voltage intoa digital signal that characterizes a magnitude and polarity of theanalog voltage. In such an implementation, the corresponding digitalsignal could be provided to the controller 54. Alternatively, thecontroller 54 could be configured to directly receive the aforementionedanalog voltage signal and the controller 54 can convert the analogvoltage signal into a digital signal for processing. One skilled in theart will appreciate other ways that the voltage drop across the battery52 could be measured.

State of charge (SOC) data 60 can be accessed by the controller 54. Abattery's SOC can indicate, for example, a potential electrical energystored by the battery 52. If the battery's 52 SOC at a given timeinstance is determined, the controller 54 can determined the timeremaining (hereinafter, “remaining battery run time”) before the battery52 ceases to provide an adequate current to power the system 50. Theremaining battery run time can depend, for example, on the SOC of thebattery 52, the output current of the battery 52, the temperature of thebattery 52, the age of the battery 52, etc. The SOC data 60 can include,for example, information (e.g., algorithms, look-up tables, etc.) thatcan be employed by the controller 54 to determine the remaining batteryrun time for a given SOC of the battery 52. The SOC can be represented,for example, as a percentage (e.g., 0%-100%) of a fully charged state ofthe battery 52.

When the battery 52 is in a relaxed state (e.g., little or no currentdrawn from the battery 52), a voltage drop across the battery 52 can bemeasured by the controller 54. The relaxed state voltage can be referredto as a first Open Circuit Voltage (OCV1). As an example, OCV1 can beabout 3 volts (V). The controller 54 can access an SOC-OCV lookup table62 to determine a first state of charge (SOC1) corresponding to OCV1.The SOC-OCV lookup table 62 can be implemented for example, as a datastructure that stores an OCV for discrete SOCs, and vise versa. That is,for every SOC there exists a corresponding OCV. The relationship betweenOCV and SOC can depend for example, on the particular materials chosenfor the battery 52, the age of the battery 52, etc.

The power source 56 can convert an AC signal from the external poweroutlet 58 into a regulated DC signal that can be provided to the battery52 and/or the controller 54. The controller 54 can signal the powersource 56 to provide a current to battery 52. As an example, thecontroller 54 can cause the power source 56 to provide a relativelyconstant current of about 0.5 amperes (A) to the battery 52 at avoltage, for example at about 2 V to about 4 V. After a predeterminedtime interval (e.g., 5-20 minutes), a subsequent state of charge (SOC2)can be calculated with equation 1:

SOC2=SOC1+ΔSOC  Eq. 1

where ΔSOC is the change in the state of charge of the battery 52 overthe predetermined time interval. ΔSOC can be calculated with equation 2:

$\begin{matrix}{{\Delta \; {SOC}} = \frac{\int_{t\; 1}^{t\; 2}{1\ {t}}}{FCC}} & {{Eq}.\mspace{14mu} 2}\end{matrix}$

where t1 is the is the time at the beginning of the predeterminedinterval, t2 is the time at the end of the predetermined interval, I isthe charging current applied to the battery 52 by the power source 56and FCC is the full capacity charge of the battery 52.

After calculating SOC2, the controller 54 can query the SOC-OCV lookuptable 62 to determine a subsequent OCV corresponding to SOC2, namelyOCV2. Additionally, the actual voltage on the battery 52 output Vo canbe measured (at about time t2) in a manner described herein. Thus, theimpedance for the battery 52 corresponding to SOC2 can be obtained withequation 3:

$\begin{matrix}{Z_{{SOC}\; 2} = \frac{V_{o} - {{OVC}\; 2}}{1}} & {{Eq}.\mspace{14mu} 3}\end{matrix}$

where Z_(SOC2) is the discharge impedance for the battery 52corresponding to SOC2. The controller 54 can store Z_(SOC2) in animpedance data structure 64, such as a lookup table or a database.Additionally, the controller 54 can associate SOC2 with Z_(SOC2), suchthat the SOC for the battery 52 can be determined at a later time bymeasuring or predicting the impedance of the battery 52. Moreover, insome implementations, the impedance data structure 64 is initializedwith a default set of impedances and associated SOCs. In such asituation, the controller 54 can replace a default Z_(SOC2) with theZ_(SOC2) calculated by Equation 3.

It is to be understood and appreciated that the controller 54 cancalculate n number of states of charge (SOCn) and an impedanceassociated with the each of the n number of states of charge (Z_(SOCn))by substantially repeating the above identified process, wherein n is aninteger greater than or equal to one. Accordingly, the controller 54 canassociate a plurality of impedances with a plurality of SOCs.

Additionally, after one or more impedances are calculated, a scalingfactor, F_(scale) can be calculated with Equation 4:

$\begin{matrix}{F_{scale} = \frac{Z_{SOCx}^{\prime}}{Z_{SOCx}}} & {{Eq}.\mspace{14mu} 4}\end{matrix}$

where Z′_(SOCx) is a calculated impedance associated with a given SOC ofthe battery 52, namely SOCx, and Z_(SOCx) is the default impedanceassociated with the given state of charge SOCx. Additionally, it is tobe understood that multiple scaling factors (F_(scale)) (e.g., 3 ormore) can be computed and averaged to increase the accuracy ofF_(scale). The controller 54 can employ F_(scale) and a default givenimpedance Z_(SOCx) to predict an impedance (Z_(PREDICTEDx)) associatedwith the given impedance Z_(SOCx) with equation 5:

Z _(PREDICTEDx) =F _(scale) *Z _(SOCx)  Eq. 5

The predicted impedance (Z_(PREDICTEDx)) can be employed by thecontroller 54 in place of a measured impedance (Z′_(SOCx)) for anassociated given default impedance (Z_(SOCx)), such that the system 50need not measure an actual impedance for every impedance stored in thedefault impedance data structure 64.

The controller 54 can be configured to signal the power source 56 tocease providing the charging current under at least two conditions. Thefirst condition is detecting that the battery 52 has reached an SOC ator near 100%, while the external power outlet 58 is still connected tothe system 50. The second condition is a detection of a disconnectionfrom the external power outlet 58.

If the system 50 is disconnected (e.g., unplugged) from the externalpower outlet 58, the disconnection can be detected, for example, by thepower source 56 and/or the controller 54. Upon detection of thedisconnection, the controller 54 can signal the power source 56 to ceaseproviding the current to the battery 52. In response, the battery 52 canprovide a current to the power source 56 (e.g., the aforementioned powersignal) to the controller 54 via the power source 56, thus allowing thesystem 50 to be operated while disconnected from the external poweroutlet 58.

As discussed herein, the output voltage at a given time instance of thebattery 52 can be measured, for example, by the controller 54 and/or thepower source 56. The output voltage can be measured, for example, nearthe time of the disconnection (V_(oDISCHARGE)) (e.g., within about 10seconds) can be about equal to the OCV for the battery 52 at the sametime (OCV_(DISCHARGE)). The controller 54 can employ OCV_(DISCHARGE) todetermine the associated SOC for the given time instance. As discussedabove, the controller 54 can determine the remaining battery run time ofthe battery 52 by employing the SOC for the given time instance and theSOC data 60. The remaining battery run time can be reported to an enduser of the system 50, for example via visual indicia (e.g., a graphicaluser interface (GUI), one or more light emitting diodes (LEDs), etc.),an audio sensory system (e.g., a loudspeaker) or a tactile sensorysystem (e.g., a vibrating function), etc.

As the battery 52 is drained, the impedance of the battery 52 increasesand the SOC of the battery 52 decreases. After a predetermined time(e.g., about 1-5 minutes) the controller 54 can signal the power source56 to measure a discharge impedance of the battery 52 (Z_(DISCHARGE)).The battery 52 impedance can be measured, for example, with a spectralanalysis of a response to a pulse current. The spectral analysis caninclude, for example a Fourier Transform, a Laplace Transform, etc. Insuch an implementation, the power source 56 can provide the controller54 with a digital signal that characterizes Z_(DISCHARGE). Z_(DISCHARGE)can be determined repeatedly, typically at predetermined intervals. Oneskilled in the art will appreciate that the impedance of the battery 52could be measured in other ways as well.

The controller 54 can access the impedance data structure 64 todetermine an associated SOC for Z_(DISCHARGE). Thus, the controller 54can update the indication of remaining battery run time. The indicationof the remaining battery run time can be updated periodically, typicallyeach time Z_(DISCHARGE) is determined. The system 50 can provide arelatively accurate indication of remaining battery run time withoutmeasuring an output current of the battery 52. The output current of thebattery 52 typically varies considerably as the power needs of thesystem 50 change, such as for example, when the system 50 transitionsfrom one mode of operation to another (e.g., from a sleep mode ofoperation to an active mode of operation).

FIG. 2 illustrates an example of a circuit 100 for a system (e.g., thesystem 50 illustrated in FIG. 1) in accordance with an aspect of theinvention. The circuit 100 can include, for example, a battery 102coupled to a power source 104. The power source 104 can be coupled tothe battery 102 at terminals B+ and B−. In the present example, aThévenin equivalent circuit for the battery 102 can be employed. TheThévenin equivalent circuit of the battery 102 can include, for example,a voltage source VB in series with an equivalent impedance ZB. The powersource 104 can include, for example, a current source 106 that providesa current of I (e.g., 0.5 A) in a direction indicated by an arrow, and avoltmeter 108.

The current source 106 can provide, for example, a charging current tothe battery 102. The voltmeter 108 can measure, for example, an outputvoltage (Vo) between terminals B+ and B−. When the battery 102 is in afully relaxed state (e.g., little or no current is being emitted fromthe battery 102), Vo can be about equal to an OCV of the battery 102. Asdiscussed herein, the OCV voltage and the measured voltage can beemployed to determine an impedance for the battery 102 at predeterminedtime intervals. Moreover, as discussed herein, the impedance of thebattery 102 can be employed to determine a remaining battery run timeduring a discharge time period of the battery 102.

FIG. 3 illustrates an example of an equivalent circuit for a battery 150(e.g., the battery 102 illustrated in FIG. 2). The battery 150 can have,for example, positive and negative nodes (e.g., terminals), B+ and B−.The battery 150 can also have a voltage source VB. A negative terminalof the voltage source can be coupled to node B−. A positive terminal ofthe battery 150 can be coupled (via a node indicated at 152) to a firstresistance R1. R1 can also be coupled to a node indicated at 154 that iscommon to a capacitor C1 and a second resistance R2. Cl can also becoupled to B−, while R2 can also be coupled to B+.

When the battery 150 is in a charging time period, only DC is applied tothe battery 150 (e.g., by a power source). If only DC is applied to thebattery 150, after an initial transient state (e.g., 10 seconds), theequivalent impedance for the battery 150 will be about equal to R1+R2.Thus, when the battery 150 is fully relaxed, the battery's 150 OCVdepends only on the battery's 150 SOC.

FIG. 4 illustrates another system 200 for determining a SOC of a battery202 in accordance with an aspect of the invention. The system 200 couldbe implemented, for example, as a laptop computer, a PDA, a wirelessphone, etc. The system 200 includes a controller 204 coupled to a powersource 206 that can charge and discharge the battery 202. The controller204 can include, for example, a central processing unit (CPU) 208 thatcan execute computer instructions. The CPU 208 can access a memory 210,such as Random Access Memory (RAM) or Read Only Memory (ROM). The CPU208 can also read and write data to data storage 212. The data storage212 could be implemented, for example, as a RAM, a hard disk drive,flash memory, etc. The controller 204 can communicate with externaldevices (e.g., the power source 206) via an input/output (I/O) interface213. The I/O interface 213, can include, for example, ananalog-to-digital converter (ADC), a digital-to-analog converter (DAC),etc.

The system 200 can be connected to an external power outlet 214 (e.g.,an electrical outlet). The external power outlet 214 can provide, forexample, a 110 V or 220 V AC signal to the power source 206. The powersource 206 can include, for example, a current generator 216 that canprovide a current to the battery 202 in response to receiving a controlsignal from the controller 204. The power source 206 can also include avoltmeter 218 that can measure a voltage drop across the battery 202.

Upon connection to the external power outlet 214, current from thebattery 202 can be reduced to about zero, causing the battery 202 totransition to a relaxed state. The voltmeter 218 can measure the voltageacross the battery 202 in the relaxed state, which can be referred to asOCV1. As an example, OCV1 can be about 3 V. The power source 206 canprovide the controller 204 with a signal that corresponds to OCV1. Thesignal can be, for example an analog signal that is received at the I/Ointerface 213. In such an implementation, the I/O interface 213 canconvert the analog signal to a digital signal that characterizes themagnitude and polarity of OCV1. The controller 204 (e.g., via the CPU208 and the I/O interface 213) can signal the power source 206 toprovide a charging current to the battery 202 from the current generator216. As an example, the charging current can be implemented as a powersignal with a current of about 0.5 A at a voltage of about 2 V to about4 V.

The data storage 212 can include, for example, an SOC-OCV lookup table220 that stores a relationship between the battery's 202 OCV and thebattery's 202 SOC. The SOC-OCV table 220 could be filled, for example,with default values. Thus, the CPU 208 can determine the battery's 202SOC in the relaxed state, which can be referred to as SOC1. The SOC canbe, for example, a percentage between 0% and 100% that indicates theamount of potential electrical energy stored in the battery 202. The CPU208 can report the SOC of the battery 202 during charging, for example,to an end user of the system 200 via a battery state indicator 222. Thebattery state indicator 222 can be, for example, a visual indicator(e.g., an icon of a GUI, one or more LEDs, etc.), an audio indicator(e.g., a loudspeaker), a tactile indicator (e.g., a vibrationmechanism), etc.

After a predetermined amount of time, the CPU 208 can calculate asubsequent SOC, namely SOC2, with an algorithm that employs, forexample, Equations 1 and 2. Upon calculating SOC2, the CPU 208 can querythe SOC-OCV lookup table 220 to determine a subsequent OCV correspondingto SOC2, which can be referred to as OCV2. Upon determining OCV2, theactual voltage V0 across the battery 202 can be re-measured by thevoltmeter 218 and reported to the CPU 208 via the I/O interface 213.Upon determining Vo and OCV2, an impedance of the battery 202 for SOC2,referred to as Z_(SOC2) can be calculated by the CPU 208 employingEquation 3.

The CPU 208 can store a relationship between the battery 202 impedanceand an SOC as impedance data 224 in the data storage 212. The impedancedata 224 can be configured to include default values that establish apredefined relationship between the battery 202 impedance and thebattery's 202 SOC. Upon determining Z_(SOC2), the CPU 208 can replacethe existing relationship for the determined impedance and the battery's202 SOC. Upon calculating the battery 202 impedance, the CPU 208 canemploy an algorithm that employs Equation 4 to determine a scalingfactor (F_(scale)) for the battery 202. F_(scale) can be employed by theCPU 208 to predict an impedance (Z_(PREDICTED)) for a given defaultimpedance, Z_(SOCx) with Equation 5.

The system 200 can be configured to repeat the process of determiningthe battery 202 impedance for other SOCs periodically (e.g., every 5-20minutes), and store the relationship in between the determined impedanceand the associated SOC in the impedance data 224. Additionally, when anSOC is determined by the CPU 208, the battery state indicator 222 can beupdated by the CPU 208 accordingly. Moreover, the CPU 208 can employ thedetermined battery impedances to determine multiple scaling factors(F_(scale)) that can be averaged to increase the accuracy of predictedimpedances.

When the battery 202 is charged to a desired SOC, the system 200 can bedisconnected (e.g., unplugged) from the external power outlet 214. Thedisconnection can be detected, for example, by the power source 206and/or the CPU 208. Upon detection of the disconnection, the CPU 208 cansignal the power source 206 (via the I/O interface 213) to discontinueproviding the charging current to the battery 202. In response, thebattery 202 can provide a current to the power source 206 (e.g., a powersignal), which can be forwarded to the controller 204. Thus, the system200 can be operated while disconnected from the external power outlet214.

The output voltage of the battery 202 for a given time instance can bemeasured, for example, by the voltmeter 218 and provided to the CPU 208.The CPU 208 can signal the power source 206 to measure the outputvoltage of the battery 202 at about the time of the disconnection (e.g.,within 10 seconds), which can be referred to as Vo_(DISCHARGE).Vo_(DISCHARGE) can be about equal to the OCV of the battery 202 at thesame time, which can be referred to as OCV_(DISCHARGE). The CPU 208 canemploy OCV_(DISCHARGE) to determined the associated SOC of the battery202 at about the time of the disconnection.

The CPU 208 can determine the remaining run time of the battery 202 byemploying a given SOC for a given time instance by employing SOC data226 that can be stored in the data storage 212. The remaining run timeof the battery 202 can be based, for example, on the SOC, the operatingmode of the system 200, the age of the battery 202, etc. The remainingbattery run time can be reported to the end user of the system 200 viathe battery state indicator 222.

As the battery 202 is drained, the impedance of the battery 202increases, and the SOC of the battery 202 decreases. At periodic timeintervals (e.g., about 1-5 minutes), the CPU 208 can calculate adischarge impedance, Z_(DISCHARGE). Z_(DISCHARGE) can be calculated, forexample, with spectral analysis of a response to a pulse current (e.g.,provided by the current generator 216). In such an implementation, thevoltmeter 218 can provide the CPU 208 with a digital signal thatrepresents the response to the pulse current. The CPU 208 can employknown algorithms to determine Z_(DISCHARGE). One skilled in the art willappreciate the variety of other possible methods that Z_(DISCHARGE)measured and/or calculated.

The CPU 208 can access the data storage 212 to determine an SOC for thecalculated Z_(DISCHARGE). Upon determination of the SOC, the batterystate indicator 222 can be updated to reflect the present remainingbattery run time. The system 200 can provide a relatively accurateindication of the remaining battery run time without measuring theoutput current of the battery 202, which is known to vary greatlythroughout the discharge time period.

In view of the foregoing structural and functional features describedabove, methodologies will be better appreciated with reference to FIG.4. It is to be understood and appreciated that the illustrated actions,in other embodiments, may occur in different orders and/or concurrentlywith other actions. Moreover, not all illustrated features may berequired to implement a method.

FIG. 5 illustrates a flow chart for a methodology 300 for determining astate of charge of a battery in accordance with an aspect of the presentinvention. At 310, an initial OCV, OCV1 of the battery can be measured,for example, by a power source and the power source can provide acontroller with a signal that characterizes the measured OCV1. At 320,the controller can access an SOC-OCV lookup table to determine an SOCcorresponding to OCV1.

At 330, the controller can signal the power source to provide thebattery with a current for a predetermined time interval, therebycharging the battery for the predetermined time interval. At 340, thecontroller can use an algorithm to determine the SOC for the batteryafter the predetermined interval. At 350, the controller can access theSOC-OCV table to determine a corresponding OCV for the determined SOC.At 360, the battery impedance corresponding to the determined SOC iscalculated and stored by the controller. The battery impedance and thecorresponding SOC can be stored, for example, as impedance data. Theimpedance data can be pre-loaded, for example, with default values. At370, the controller employs one or more calculated impedances todetermine a scaling factor that can be employed to scale a defaultimpedance to predict an impedance.

At 380, a determination is made as to whether a disconnection from anexternal power outlet has been detected. The disconnection can bedetected, for example, by the controller and/or the power source. If thedetermination is negative (e.g., NO), the methodology returns to 330. Ifthe determination is positive, (e.g., YES) the methodology proceeds to390.

At 390, an initial discharge output voltage (Vo) of the battery can bemeasured by a voltmeter, and a signal characterizing the measuredvoltage can be provided to the controller. The initial discharge Vo canbe about equal to the OCV for the battery near the time that thedisconnection is detected. At 400, the controller can determine an SOCfor the battery corresponding to the OCV of the battery.

At 410, the battery is discharged for a predetermined time interval. At420, a discharge impedance of the battery can be measured by the powersource and the controller. The impedance can be measured and/orcalculated, for example, by the power source providing a current pulseto the battery, and the power source detecting a response to the currentpulse. The power source can provide the controller with a signal thatcharacterizes the response to the current pulse as response data. Thecontroller can employ the response data to calculate the impedance forthe battery. At 430, the controller can access the impedance data todetermine a corresponding SOC for the determined impedance. At 440, thecontroller can employ SOC data to determine the remaining battery runtime. At 450, the controller can report the remaining battery run timeto an end user of the system, for example via a battery statusindicator, and the methodology 300 can return to 410.

What have been described above are examples of the present invention. Itis, of course, not possible to describe every conceivable combination ofcomponents or methodologies for purposes of describing the presentinvention, but one of ordinary skill in the art will recognize that manyfurther combinations and permutations of the present invention arepossible. Accordingly, the present invention is intended to embrace allsuch alterations, modifications, and variations that fall within thescope of the appended claims.

1. A system for determining a state of charge of a battery comprising: apower source configured to provide a charging current to a battery; anda controller configured to determine a state of charge based onimpedance of a battery during a discharge time period based on animpedance and a state of charge relationship of a battery during acharge time period.
 2. The system of claim 1, wherein the impedance ofthe battery during the charge time period for a given time instance isdetermined based at least on a measured voltage of the battery at thegiven time instance, the state of charge of the battery at the giventime instance and a current provided by the power source at the giventime instance.
 3. The system of claim 2, wherein the controller isconfigured to determine impedances of the battery for a plurality ofdifferent time instances during the charge time period to determine anaverage scaling factor for the battery that is employed by thecontroller to predict an impedance of the battery.
 4. The system ofclaim 1, wherein the controller is configured to store the relationshipbetween the impedance of the battery and the state of charge of thebattery.
 5. The system of claim 1, wherein the impedance of the batteryvaries as a function of the state of charge of the battery.
 6. Thesystem of claim 5, wherein the controller employs the state of charge ofthe battery and a change in the state of charge of the battery todetermine a subsequent state of charge of the battery for a given timeinstance.
 7. The system of claim 6, wherein the controller employs thesubsequent state of charge for the given time instance to determine anopen circuit voltage for the subsequent state of charge.
 8. The systemof claim 7, wherein the controller accesses a lookup table to determinethe relationship between the given state of charge of the battery andthe open circuit voltage for the subsequent state of charge of thebattery.
 9. The system of claim 8, wherein the controller calculates animpedance of the battery for the given time instance with the equation:${Z = \frac{V_{o} - {OVC}}{1}},$ wherein: Z is the impedance of thebattery for the given time instance; Vo is the voltage drop across thebattery at the given time instance; OCV is the open circuit voltage ofthe battery at the given time instance; and I is the current provided tothe battery at the given time instance.
 10. The system of claim 1,wherein the controller is configured to determine a remaining batteryrun time of the battery based on the state of charge of the battery. 11.A system determining a state of charge of a battery, the systemcomprising: a power source configured to provide the battery with acharging current; and a controller configured to determine a pluralityof impedances of the battery during a charge period, wherein eachimpedance of the plurality of impedances of the battery corresponds witha given state of charge of the battery.
 12. The system of claim 11,wherein the controller is further configured to store the plurality ofimpedances and the corresponding states of charge of the battery. 13.The system of claim 12, wherein the controller is further configured todetermine a state of charge of the battery during a discharge timeperiod based on the stored plurality of impedances and the correspondingstates of charge of the battery.
 14. The system of claim 11, wherein agiven impedance of the plurality of impedances of the battery is basedon the state of charge for the battery corresponding to the givenimpedance, a measured voltage of the battery and the charging current ofthe battery.
 15. The system of claim 14, wherein the controller isfurther configured to report a remaining battery run time for a giventime instance via a battery status indicator based on a state of chargeof the battery at the given time instance.
 16. A method for determininga state of charge of a battery, the method comprising: providing acharging current to the battery; determining an initial state of charge(SOC) for the battery; charging the battery for a predetermined timeinterval; determining a subsequent SOC for the battery; determining anopen circuit voltage (OCV) corresponding to the subsequent SOC of thebattery; and calculating an impedance for the battery corresponding tothe subsequent SOC of the battery.
 17. The method of claim 16, furthercomprising determining a scaling factor for the battery based on one ormore calculated impedances of the battery.
 18. The method of claim 17,further comprising predicting an impedance associated with a given SOCof the battery based on the scaling factor.
 19. The method of claim 16,further comprising: detecting a disconnection from a power outlet; anddetermining an SOC for the battery near the time of the disconnection.20. The method of claim 19, further comprising: determining an impedanceof the battery for a given instance of time during a discharge timeperiod; determining a state of charge for the battery based on thecorrespondence between the impedance of the battery and the SOC of thebattery.